package com.hualan.sfzy.mapper;

import com.hualan.sfzy.model.dto.ArticleDto;
import com.hualan.sfzy.model.entity.Article;
import com.hualan.sfzy.model.vo.ArticleQuery;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

@Mapper
public interface ArticleMapper extends BaseMapper<Article>{

    List<ArticleDto> select(ArticleQuery query);
    
    /**
     * 查询所有文章信息
     */
    List<ArticleDto> selectAll();
//文章回收站查询已经删除的文章
    List<ArticleDto> selectDelete(ArticleQuery query);
    List<ArticleDto> selectAllDelete();
    int recover(Integer  id);//回复
    int recoverBatch(Integer[] ids);//批量回复
    int deletecompletely(Integer id);//彻底删除
    int deleteBatchCompletely(Integer[] ids);//批量彻底删除
    int deleteExpiredArticles(@Param("days") int days);//删除过期文章
    ArticleDto selectRecycleById(@Param("id") Integer id);//查询回收站中的文章详情
    int updateRecycleTime(@Param("id") Integer id, @Param("recycleTime") Date recycleTime);//更新删除时间
    int updateCount( Integer id, Integer count);//增加阅读量

}
